/**
 * elancom Corporation copy right 2012 - 2015  
 *   
 * $Header$
 * $Id$
 * $Author$
 * $Date$
 * $Revision$
 */
package com.elancom.framework.web;

import java.util.Enumeration;
import java.util.Map;

/**
 * @author elancom
 * @date 2012-7-16
 */
public interface RequestDelegate {

	/**
	 * @param arg0
	 * @return
	 * @see com.elancom.framework.web.context.RequestContext#getAttribute(java.lang.String)
	 */
	public abstract Object getAttribute(String arg0);

	/**
	 * @return
	 * @see com.elancom.framework.web.context.RequestContext#getAttributeNames()
	 */
	public abstract Enumeration<String> getAttributeNames();

	/**
	 * @param arg0
	 * @return
	 * @see com.elancom.framework.web.context.RequestContext#getParameter(java.lang.String)
	 */
	public abstract String getParameter(String arg0);

	/**
	 * @return
	 * @see com.elancom.framework.web.context.RequestContext#getParameterMap()
	 */
	public abstract Map<String, Object> getParameterMap();

	/**
	 * @return
	 * @see com.elancom.framework.web.context.RequestContext#getParameterNames()
	 */
	public abstract Enumeration<String> getParameterNames();

	/**
	 * @param arg0
	 * @return
	 * @see com.elancom.framework.web.context.RequestContext#getParameterValues(java.lang.String)
	 */
	public abstract String[] getParameterValues(String arg0);

	/**
	 * @param arg0
	 * @see com.elancom.framework.web.context.RequestContext#removeAttribute(java.lang.String)
	 */
	public abstract void removeAttribute(String arg0);

	/**
	 * @param arg0
	 * @param arg1
	 * @see com.elancom.framework.web.context.RequestContext#setAttribute(java.lang.String, java.lang.Object)
	 */
	public abstract void setAttribute(String arg0, Object arg1);

}